perm filename LISP.LOG[LSP,LSP] blob
sn#337905 filedate 1978-03-01 generic text, type C, neo UTF8
COMMENT ā VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 29Jan78 WD
C00010 ENDMK
Cā;
29Jan78 WD
Debugged COMPLR.CMD to account for change from K to
pages. COMPLR recompiled and deposited on [1,3]
to replace an expermimental compiler accidentally
put there on 31Mar76 by BG.
31Jan78 WD
Minor changes to the definitions of DE, DF, and DM in LISP.LSP.
These functions now accept the form:
(DE (FOO X Y) (CONS X Y))
as well as the standard form:
(DE FOO (X Y) (CONS X Y)).
In either form an additional (final) argument can be added:
(DE FOO (X Y) (CONS X Y) BAR)
forcing the definition of a BAR property rather
than the default (in this case EXPR) property.
In addition a variable called %FTYPES, currently
equal to: (EXPR, FEXPR, SUBR, FSUBR, LSUBR, MACRO) was
added for use by %DEFIN.
The old version of LISP.LSP was saved as:
LSPLSP.OLD[LSP,LSP].
4Feb78 WD
Recompiled compiler interpretively. ISSUBR must be
defined as NIL and UPPERFLG set to NIL for correct
results.
5Feb78 WD
Modified COMPLR and FORMAT to accomodate change to DE,
DF, and DM. MAKDEF was renamed MAKDEFIN and a new MAKDEF was added.
These functions are entirely paralled to %DEF and %DEFIN in LISP.LSP.
Introduced ILISPFLAG into COMPLR and revised OUTCALL and
OUTJCALL accordingly.
Added elapsed time printout to FORMAT.
7Feb78 WD
Modified COMPLR and FORMAT to report elapsed time
down to tenths of seconds, by changing the functions TELLTALE and
FORMFILE respectively.
8Feb78 WD
RAK asked for an increase in the number of IO buffers in
LISP to speed up IO. This proved difficult
The result is LISP.DMP[LSP,LSP].as the LISP on [1,3], but has not
been put on SYS: because there are a variety of bugs to iron out.
SYS:LISP draws the varous auxiliary files LISP.LOD etc.
from [LSP,DCS] and the files LISP.LSP and LISP.INI(if any)
from SYS:. LISP.MAC sought these files on [LSP,SYS], and
SYS: respectively. None of these files would lode properly
until an extral word was added to make the new LISP the
same length as the old. My attempts to build a new system
from scratch (ie. not using the old LISP.LOD etc.) have so far
failed. The changes to LISP.MAC[LSP,LSP] are shown
below:
1) LISP.MAC[LSP,LSP] and 2) NLISP.MAC[LSP,LSP] 2-08-78 22:15 pages 2,2
**** File 1) LISP.MAC[LSP,LSP], Page 2 line 80
1) NIOB==2 ;no of I/O buffers per device
**** File 2) NLISP.MAC[LSP,LSP], Page 2 line 80
2) NIOB==23 ;no of I/O buffers per device
**** File 1) LISP.MAC[LSP,LSP], Page 4 line 4
1) DEFINE LSPPPN <SIXBIT /LSPSYS/> ; more specifically, here (SEE END FOR DEF)
**** File 2) NLISP.MAC[LSP,LSP], Page 4 line 4
2) DEFINE LSPPPN <SIXBIT /LSPDCS/> ; more specifically, here (SEE END FOR DEF)
**** File 1) LISP.MAC[LSP,LSP], Page 5 line 6
1) ;**** JRST LISP1X ;entry point to get into read-eval-print loop
**** File 2) NLISP.MAC[LSP,LSP], Page 5 line 6
2) JRST .+1 ;put in to match a patch in LISP[1,3] - WD
2) ;**** JRST LISP1X ;entry point to get into read-eval-print loop
15Feb78 WD
Slight modification to FORMAT to print out processing time
in decimal and put carriage returns between time statements for
different files.
17Feb78 WD
Added FINIT and FSTART to FORMAT. These exactly parallel
CINIT and CSTART in COMPLR. FORMAT now looks for the
file FORMAT.INI on both SYS: and DSK: and reads it if found.
18Feb78 WD
Condensed the two versions of INDEX into one program with
a variable USEKEY to decide which is used. If USEKEY is true
each entry in the list of function names has a key attached for
sorting, otherwise sorting is done directly on the PNAME.
19Feb78 WD
In correcting the handling of DE, DF, and DM in INDEX, I
decided to pull in my horns a bit and omit the possibility of a
final argument overriding the default type. This change was
therefore made in LISP.LSP and COMPLR as well. Source comparison
for the case of LISP.LSP is shown below.
1) LSPLSP.OLD[LSP,LSP] and 2) LISP.LSP[LSP,LSP] 2-19-78 01:52 pages 1,1
**** File 1) LSPLSP.OLD[LSP,LSP], Page 1 line 12
1) (COND ((ATOM (CAR ARGS)) (%DEFIN (CAR ARGS)
1) (CADR ARGS)
1) (CADDR ARGS)
1) (COND ((NULL (CDDDR ARGS)) TYPE)
1) (T (CADDDR ARGS)))))
1) (T (%DEFIN (CAAR ARGS)
1) (CDAR ARGS)
1) (CADR ARGS)
1) (COND ((NULL (CDDR ARGS)) TYPE)
1) (T (CADDR ARGS)))))))
1) EXPR)
**** File 2) LISP.LSP[LSP,LSP], Page 1 line 12
2) (COND ((ATOM (CAR ARGS))
2) (%DEFIN (CAR ARGS) (CADR ARGS) (CADDR ARGS) TYPE))
2) (T (%DEFIN (CAAR ARGS) (CDAR ARGS) (CADR ARGS) TYPE))))
2) EXPR)
***************
1Mar78 WD
The ILISPFLAG in COMPLR affects the functions OUTCALL and
OUTJCALL. If it is NIL my old code is selected. If it is true
Weyrauch's code for ILISP function calls is generated. The
Weyrauch routines are dependent on UPPERFLG, which indicates the
presence of an upper segment.
1Mar78 RWW
Changed XCT in OUTCALL and OUTJCALL to XCT@S.